Barcode readers, including scanners, symbology readers and image readers, are typically supplied with a wide range of decoding algorithms active within the operating software. Present-day barcode or optical character decoders are usually software algorithms which analyze the signal or image obtained by the barcode reader and decipher the information encoded in the barcode symbology. The decoded data is then stored for later processing or forwarded to a microprocessor. As the manufacturer of these barcode readers often cannot tell in advance how the device is to be used, the full range of common symbologies, generally one dimensional and two dimensional barcodes, as well as postal codes and optical character fonts are typically supported and their decoding algorithms are enabled for decoding at all times.
Further, in image-based readers, a large field of view is often the default state, as again, the manufacturer cannot determine in advance the intended application. The symbologies can range from large, multi-code labels where the full field of view is both desired and necessary, to small barcodes that occupy significantly less of the total area capture in each scan.
There are a number of prior art techniques in which a category of decode algorithms may be selected from a menu. The driver for selecting a group or even a single decoding algorithm in a device to reduce the time required to successfully determine the existence of a symbology, deciphers the coded information and passes this information to some external information management system, thereby maximizing operating productivity. Generally, the selection of categories would include either one-dimensional or two-dimensional barcodes, postal codes or optical characters. One-dimensional barcodes are barcodes in which the data is encoded along a single axis. One-dimensional barcodes are commonly used in grocery stores and other retail applications. UPC/EAN code, Code 39 and Code 49 are all examples of one-dimensional barcodes. Two-dimensional barcodes are barcodes in which data is encoded in both the horizontal and vertical dimensions. PDF417 and maxicode are examples of two-dimensional barcodes. Postal codes ressemble one-dimensional barcodes. POSTNET, PLANET and Royal Mail 4 state are examples of post codes. Optical characters are typically OCR A and OCR B font—typically used for machine read applications.
In these menu driven barcode readers, an operator would select between one or more of the available barcode options depending on the symbology type of interest. For example, if the one-dimensional option is selected, the two dimensional decoding algorithms are typically disabled. The main drawback to this type of system is that it requires operator intervention in order to select the decode parameters. For this operator intervention to be effective the user must be capable of differentiating between the myriad of codes, often something the operator is not able to do.
U.S. Pat. No. 5,825,006 which issued to Longacre, Jr. et. al. on Oct. 20, 1998 and is assigned to Welch Allyn, Inc., details a menu driven barcode reader having improved auto discrimination features. The system refers to a parameter table in memory during the decode operation to auto discriminate between 1D and 2D barcode types. If a 1D barcode is being scanned, all 2D barcode decoding algorithms are disabled. While this system does partially optimize the operation of the bar code reader by disabling all algorithms relating to a broad category of decode algorithms not being used, it does have the drawback of not disabling all unused decode routines. Further, this system does not include a feature with image-based readers, whereby the field of view (FOV) or other optical operating parameters can be adjusted to accommodate the area or dimensions of the symbology of interest. These menu-driven barcode readers can be configured either through the use of a host-based menu, or the use of what is known in the industry as configuration barcodes. These barcodes contain the instructions to set the device into a specific operating mode. If the end user desires to alternate between a series of modes, configuration barcodes must be created and be available at the point of use to allow the user to change the operating parameters of the device by successfully decoding the instruction set in the barcode.
Other products available to barcode users, including portable data terminal devices such as the Symbol Technologies PDT8100™ or the Hand Held Product Dolphin 9500™, utilize a screen-driven menu in which a user can select a symbology or symbologies of interest, however, this requires the user to be able to anticipate which symbols will be encountered and manually initialize or change the enabled decoders. These units are often supplied with a default or subset of the total available decoders enabled. This default set is selected in an attempt to optimize the operating speed of the device by disabling similar but different decoding algorithms that when enabled, often result in latency in the decoding operation or the perception of “sluggishness” by the user. If the attempted code to be read is not enabled, and the user is not particularly skilled in determining the actual code or in the use of the appliance, the unit will not successfully decode the symbol regardless of the number of attempts. The user will then, most often incorrectly, determine something is wrong with the appliance and seek further technical support or even attempt to return the device for repair. This results in considerable operating inefficiency and increases the total cost of ownership of the appliance due to the loss of productivity and incremental overhead in providing support for what is a configuration problem.
These units also allow for the operator to select an operating window or field of view and image capture configuration of the appliance to reflect the use application. This again requires the operator to be able to determine the field of view or window size that is optimum and the best image capture configuration to ensure image fidelity. The selection of these parameters has a significant effect on both the time required to capture and process an image, as well as image fidelity.
Therefore there is a need for a self-optimizing symbology reader which does not require operator intervention in order to configure the decode parameters for maximum productivity.